/*
 * XML Type:  entity-listener
 * Namespace: http://java.sun.com/xml/ns/persistence/orm
 * Java type: com.googlecode.horncomb.orm.jpa.v10.xmlbeans.EntityListener
 *
 * Automatically generated - do not modify.
 */
package com.googlecode.horncomb.orm.jpa.v10.xmlbeans.impl;
/**
 * An XML entity-listener(@http://java.sun.com/xml/ns/persistence/orm).
 *
 * This is a complex type.
 */
public class EntityListenerImpl extends org.apache.xmlbeans.impl.values.XmlComplexContentImpl implements com.googlecode.horncomb.orm.jpa.v10.xmlbeans.EntityListener
{
    
    /**  */
	private static final long serialVersionUID = 2101663280155531139L;


	public EntityListenerImpl(org.apache.xmlbeans.SchemaType sType)
    {
        super(sType);
    }
    
    private static final javax.xml.namespace.QName PREPERSIST$0 = 
        new javax.xml.namespace.QName("http://java.sun.com/xml/ns/persistence/orm", "pre-persist");
    private static final javax.xml.namespace.QName POSTPERSIST$2 = 
        new javax.xml.namespace.QName("http://java.sun.com/xml/ns/persistence/orm", "post-persist");
    private static final javax.xml.namespace.QName PREREMOVE$4 = 
        new javax.xml.namespace.QName("http://java.sun.com/xml/ns/persistence/orm", "pre-remove");
    private static final javax.xml.namespace.QName POSTREMOVE$6 = 
        new javax.xml.namespace.QName("http://java.sun.com/xml/ns/persistence/orm", "post-remove");
    private static final javax.xml.namespace.QName PREUPDATE$8 = 
        new javax.xml.namespace.QName("http://java.sun.com/xml/ns/persistence/orm", "pre-update");
    private static final javax.xml.namespace.QName POSTUPDATE$10 = 
        new javax.xml.namespace.QName("http://java.sun.com/xml/ns/persistence/orm", "post-update");
    private static final javax.xml.namespace.QName POSTLOAD$12 = 
        new javax.xml.namespace.QName("http://java.sun.com/xml/ns/persistence/orm", "post-load");
    private static final javax.xml.namespace.QName CLASS1$14 = 
        new javax.xml.namespace.QName("", "class");
    
    
    /**
     * Gets the "pre-persist" element
     */
    public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PrePersist getPrePersist()
    {
        synchronized (monitor())
        {
            check_orphaned();
            com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PrePersist target = null;
            target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PrePersist)get_store().find_element_user(PREPERSIST$0, 0);
            if (target == null)
            {
                return null;
            }
            return target;
        }
    }
    
    /**
     * True if has "pre-persist" element
     */
    public boolean isSetPrePersist()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().count_elements(PREPERSIST$0) != 0;
        }
    }
    
    /**
     * Sets the "pre-persist" element
     */
    public void setPrePersist(com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PrePersist prePersist)
    {
        synchronized (monitor())
        {
            check_orphaned();
            com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PrePersist target = null;
            target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PrePersist)get_store().find_element_user(PREPERSIST$0, 0);
            if (target == null)
            {
                target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PrePersist)get_store().add_element_user(PREPERSIST$0);
            }
            target.set(prePersist);
        }
    }
    
    /**
     * Appends and returns a new empty "pre-persist" element
     */
    public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PrePersist addNewPrePersist()
    {
        synchronized (monitor())
        {
            check_orphaned();
            com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PrePersist target = null;
            target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PrePersist)get_store().add_element_user(PREPERSIST$0);
            return target;
        }
    }
    
    /**
     * Unsets the "pre-persist" element
     */
    public void unsetPrePersist()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_element(PREPERSIST$0, 0);
        }
    }
    
    /**
     * Gets the "post-persist" element
     */
    public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PostPersist getPostPersist()
    {
        synchronized (monitor())
        {
            check_orphaned();
            com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PostPersist target = null;
            target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PostPersist)get_store().find_element_user(POSTPERSIST$2, 0);
            if (target == null)
            {
                return null;
            }
            return target;
        }
    }
    
    /**
     * True if has "post-persist" element
     */
    public boolean isSetPostPersist()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().count_elements(POSTPERSIST$2) != 0;
        }
    }
    
    /**
     * Sets the "post-persist" element
     */
    public void setPostPersist(com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PostPersist postPersist)
    {
        synchronized (monitor())
        {
            check_orphaned();
            com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PostPersist target = null;
            target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PostPersist)get_store().find_element_user(POSTPERSIST$2, 0);
            if (target == null)
            {
                target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PostPersist)get_store().add_element_user(POSTPERSIST$2);
            }
            target.set(postPersist);
        }
    }
    
    /**
     * Appends and returns a new empty "post-persist" element
     */
    public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PostPersist addNewPostPersist()
    {
        synchronized (monitor())
        {
            check_orphaned();
            com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PostPersist target = null;
            target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PostPersist)get_store().add_element_user(POSTPERSIST$2);
            return target;
        }
    }
    
    /**
     * Unsets the "post-persist" element
     */
    public void unsetPostPersist()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_element(POSTPERSIST$2, 0);
        }
    }
    
    /**
     * Gets the "pre-remove" element
     */
    public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PreRemove getPreRemove()
    {
        synchronized (monitor())
        {
            check_orphaned();
            com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PreRemove target = null;
            target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PreRemove)get_store().find_element_user(PREREMOVE$4, 0);
            if (target == null)
            {
                return null;
            }
            return target;
        }
    }
    
    /**
     * True if has "pre-remove" element
     */
    public boolean isSetPreRemove()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().count_elements(PREREMOVE$4) != 0;
        }
    }
    
    /**
     * Sets the "pre-remove" element
     */
    public void setPreRemove(com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PreRemove preRemove)
    {
        synchronized (monitor())
        {
            check_orphaned();
            com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PreRemove target = null;
            target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PreRemove)get_store().find_element_user(PREREMOVE$4, 0);
            if (target == null)
            {
                target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PreRemove)get_store().add_element_user(PREREMOVE$4);
            }
            target.set(preRemove);
        }
    }
    
    /**
     * Appends and returns a new empty "pre-remove" element
     */
    public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PreRemove addNewPreRemove()
    {
        synchronized (monitor())
        {
            check_orphaned();
            com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PreRemove target = null;
            target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PreRemove)get_store().add_element_user(PREREMOVE$4);
            return target;
        }
    }
    
    /**
     * Unsets the "pre-remove" element
     */
    public void unsetPreRemove()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_element(PREREMOVE$4, 0);
        }
    }
    
    /**
     * Gets the "post-remove" element
     */
    public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PostRemove getPostRemove()
    {
        synchronized (monitor())
        {
            check_orphaned();
            com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PostRemove target = null;
            target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PostRemove)get_store().find_element_user(POSTREMOVE$6, 0);
            if (target == null)
            {
                return null;
            }
            return target;
        }
    }
    
    /**
     * True if has "post-remove" element
     */
    public boolean isSetPostRemove()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().count_elements(POSTREMOVE$6) != 0;
        }
    }
    
    /**
     * Sets the "post-remove" element
     */
    public void setPostRemove(com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PostRemove postRemove)
    {
        synchronized (monitor())
        {
            check_orphaned();
            com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PostRemove target = null;
            target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PostRemove)get_store().find_element_user(POSTREMOVE$6, 0);
            if (target == null)
            {
                target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PostRemove)get_store().add_element_user(POSTREMOVE$6);
            }
            target.set(postRemove);
        }
    }
    
    /**
     * Appends and returns a new empty "post-remove" element
     */
    public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PostRemove addNewPostRemove()
    {
        synchronized (monitor())
        {
            check_orphaned();
            com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PostRemove target = null;
            target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PostRemove)get_store().add_element_user(POSTREMOVE$6);
            return target;
        }
    }
    
    /**
     * Unsets the "post-remove" element
     */
    public void unsetPostRemove()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_element(POSTREMOVE$6, 0);
        }
    }
    
    /**
     * Gets the "pre-update" element
     */
    public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PreUpdate getPreUpdate()
    {
        synchronized (monitor())
        {
            check_orphaned();
            com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PreUpdate target = null;
            target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PreUpdate)get_store().find_element_user(PREUPDATE$8, 0);
            if (target == null)
            {
                return null;
            }
            return target;
        }
    }
    
    /**
     * True if has "pre-update" element
     */
    public boolean isSetPreUpdate()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().count_elements(PREUPDATE$8) != 0;
        }
    }
    
    /**
     * Sets the "pre-update" element
     */
    public void setPreUpdate(com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PreUpdate preUpdate)
    {
        synchronized (monitor())
        {
            check_orphaned();
            com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PreUpdate target = null;
            target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PreUpdate)get_store().find_element_user(PREUPDATE$8, 0);
            if (target == null)
            {
                target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PreUpdate)get_store().add_element_user(PREUPDATE$8);
            }
            target.set(preUpdate);
        }
    }
    
    /**
     * Appends and returns a new empty "pre-update" element
     */
    public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PreUpdate addNewPreUpdate()
    {
        synchronized (monitor())
        {
            check_orphaned();
            com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PreUpdate target = null;
            target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PreUpdate)get_store().add_element_user(PREUPDATE$8);
            return target;
        }
    }
    
    /**
     * Unsets the "pre-update" element
     */
    public void unsetPreUpdate()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_element(PREUPDATE$8, 0);
        }
    }
    
    /**
     * Gets the "post-update" element
     */
    public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PostUpdate getPostUpdate()
    {
        synchronized (monitor())
        {
            check_orphaned();
            com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PostUpdate target = null;
            target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PostUpdate)get_store().find_element_user(POSTUPDATE$10, 0);
            if (target == null)
            {
                return null;
            }
            return target;
        }
    }
    
    /**
     * True if has "post-update" element
     */
    public boolean isSetPostUpdate()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().count_elements(POSTUPDATE$10) != 0;
        }
    }
    
    /**
     * Sets the "post-update" element
     */
    public void setPostUpdate(com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PostUpdate postUpdate)
    {
        synchronized (monitor())
        {
            check_orphaned();
            com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PostUpdate target = null;
            target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PostUpdate)get_store().find_element_user(POSTUPDATE$10, 0);
            if (target == null)
            {
                target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PostUpdate)get_store().add_element_user(POSTUPDATE$10);
            }
            target.set(postUpdate);
        }
    }
    
    /**
     * Appends and returns a new empty "post-update" element
     */
    public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PostUpdate addNewPostUpdate()
    {
        synchronized (monitor())
        {
            check_orphaned();
            com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PostUpdate target = null;
            target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PostUpdate)get_store().add_element_user(POSTUPDATE$10);
            return target;
        }
    }
    
    /**
     * Unsets the "post-update" element
     */
    public void unsetPostUpdate()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_element(POSTUPDATE$10, 0);
        }
    }
    
    /**
     * Gets the "post-load" element
     */
    public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PostLoad getPostLoad()
    {
        synchronized (monitor())
        {
            check_orphaned();
            com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PostLoad target = null;
            target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PostLoad)get_store().find_element_user(POSTLOAD$12, 0);
            if (target == null)
            {
                return null;
            }
            return target;
        }
    }
    
    /**
     * True if has "post-load" element
     */
    public boolean isSetPostLoad()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().count_elements(POSTLOAD$12) != 0;
        }
    }
    
    /**
     * Sets the "post-load" element
     */
    public void setPostLoad(com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PostLoad postLoad)
    {
        synchronized (monitor())
        {
            check_orphaned();
            com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PostLoad target = null;
            target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PostLoad)get_store().find_element_user(POSTLOAD$12, 0);
            if (target == null)
            {
                target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PostLoad)get_store().add_element_user(POSTLOAD$12);
            }
            target.set(postLoad);
        }
    }
    
    /**
     * Appends and returns a new empty "post-load" element
     */
    public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PostLoad addNewPostLoad()
    {
        synchronized (monitor())
        {
            check_orphaned();
            com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PostLoad target = null;
            target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PostLoad)get_store().add_element_user(POSTLOAD$12);
            return target;
        }
    }
    
    /**
     * Unsets the "post-load" element
     */
    public void unsetPostLoad()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_element(POSTLOAD$12, 0);
        }
    }
    
    /**
     * Gets the "class" attribute
     */
    public java.lang.String getClass1()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(CLASS1$14);
            if (target == null)
            {
                return null;
            }
            return target.getStringValue();
        }
    }
    
    /**
     * Gets (as xml) the "class" attribute
     */
    public org.apache.xmlbeans.XmlString xgetClass1()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(CLASS1$14);
            return target;
        }
    }
    
    /**
     * Sets the "class" attribute
     */
    public void setClass1(java.lang.String class1)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(CLASS1$14);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(CLASS1$14);
            }
            target.setStringValue(class1);
        }
    }
    
    /**
     * Sets (as xml) the "class" attribute
     */
    public void xsetClass1(org.apache.xmlbeans.XmlString class1)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(CLASS1$14);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlString)get_store().add_attribute_user(CLASS1$14);
            }
            target.set(class1);
        }
    }
}
